//
//  GTLogBuffer.h
//  GTKit
//
//  Created   on 13-3-7.
// Tencent is pleased to support the open source community by making
// Tencent GT (Version 2.4 and subsequent versions) available.
//
// Notwithstanding anything to the contrary herein, any previous version
// of Tencent GT shall not be subject to the license hereunder.
// All right, title, and interest, including all intellectual property rights,
// in and to the previous version of Tencent GT (including any and all copies thereof)
// shall be owned and retained by Tencent and subject to the license under the
// Tencent GT End User License Agreement (http://gt.qq.com/wp-content/EULA_EN.html).
//
// Copyright (C) 2015 THL A29 Limited, a Tencent company. All rights reserved.
//
// Licensed under the MIT License (the "License"); you may not use this file
// except in compliance with the License. You may obtain a copy of the License at
//
// http://opensource.org/licenses/MIT
//
// Unless required by applicable law or agreed to in writing, software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
// specific language governing permissions and limitations under the License.
//
//

#ifndef GT_DEBUG_DISABLE
#import <Foundation/Foundation.h>
#import "GTDebugDef.h"
#import "GTList.h"

@interface GTLogBufferSaveFile : NSObject
{
    NSString        *_name;
    NSUInteger      _fileOpType;
    NSMutableString *_buffer;
    NSMutableString *_tmpBuf;
}
@property (nonatomic, retain) NSString    *name;
@property (nonatomic, retain) NSMutableString *buffer;
@property (nonatomic, retain) NSMutableString *tmpBuf;
@property (nonatomic) NSUInteger fileOpType;

- (void)addBuffer:(NSString *)buffer;

@end

@interface GTLogBuffer : NSObject
{
    NSString        *_name;
    NSMutableString *_buffer;
    GTList          *_fileList;
    NSTimer         *_timer;
    NSUInteger      _timeCnt;
    
    BOOL            _isSaving;
    NSMutableString *_tmpBuf;
    GTList          *_tmpFileList;
    NSUInteger      _fileIndex;
}

@property (nonatomic, retain) NSString    *name;

- (id)initWithName:(NSString *)dirName;
- (void)stopTimer;
- (void)addBuffer:(NSString *)buffer;
- (void)cleanLog:(NSString *)fileName;
- (void)startLog:(NSString *)fileName;
- (void)endLog:(NSString *)fileName;

@end
#endif
